
########### Step 1 : Continual Self-Supervised Learning ###########
# info for Wandb
PROJECT=UCIL-imagenet-100 ## Please change this to YOUR_PROJECT_NAME
ENTITY=fzl194 ## Please change this to YOUR_ENTITY

# Other info
GPU_NUM=0
DATA_DIR=/home/zhanglei/Desktop/data ## Please change this to YOUR_DATASET_PATH
TRAIN_DIR=/home/zhanglei/Desktop/data/imagenet-100/train ## Please change this to YOUR_IMAGENET100_TRAIN_PATH
VAL_DIR=/home/zhanglei/Desktop/data/imagenet-100/val ## Please change this to YOUR_IMAGENET100_VAL_PATH
SEED=5
NUM_TASKS=5

# # MocoV2Plus + PNR
# NAME=mocov2plus-pnr-imagenet100-5T-class PROJECT=$PROJECT ENTITY=$ENTITY SEED=$SEED NUM_TASKS=$NUM_TASKS DATA_DIR=$DATA_DIR TRAIN_DIR=$TRAIN_DIR VAL_DIR=$VAL_DIR CUDA_VISIBLE_DEVICES=$GPU_NUM python job_launcher.py --script bash_files/continual/imagenet-100/class/mocov2plus_pnr.sh
# # BYOL + PNR
# NAME=byol-pnr-imagenet100-5T-class PROJECT=$PROJECT ENTITY=$ENTITY SEED=$SEED NUM_TASKS=$NUM_TASKS DATA_DIR=$DATA_DIR TRAIN_DIR=$TRAIN_DIR VAL_DIR=$VAL_DIR CUDA_VISIBLE_DEVICES=$GPU_NUM python job_launcher.py --script bash_files/continual/imagenet-100/class/byol_pnr.sh
# # VICReg + PNR
# NAME=vicreg-pnr-imagenet100-5T-class PROJECT=$PROJECT ENTITY=$ENTITY SEED=$SEED NUM_TASKS=$NUM_TASKS DATA_DIR=$DATA_DIR TRAIN_DIR=$TRAIN_DIR VAL_DIR=$VAL_DIR CUDA_VISIBLE_DEVICES=$GPU_NUM python job_launcher.py --script bash_files/continual/imagenet-100/class/vicreg_pnr.sh
# # SimCLR + PNR
NAME=simclr-pnr-imagenet100-5T-class PROJECT=$PROJECT ENTITY=$ENTITY SEED=$SEED NUM_TASKS=$NUM_TASKS DATA_DIR=$DATA_DIR TRAIN_DIR=$TRAIN_DIR VAL_DIR=$VAL_DIR CUDA_VISIBLE_DEVICES=$GPU_NUM python job_launcher.py --script bash_files/continual/imagenet-100/class/simclr_pnr.sh
# Barlow + PNR
# NAME=barlow-pnr-imagenet100-5T-class PROJECT=$PROJECT ENTITY=$ENTITY SEED=$SEED NUM_TASKS=$NUM_TASKS DATA_DIR=$DATA_DIR TRAIN_DIR=$TRAIN_DIR VAL_DIR=$VAL_DIR CUDA_VISIBLE_DEVICES=$GPU_NUM python job_launcher.py --script bash_files/continual/imagenet-100/class/barlow_pnr.sh

################################################################################################################################################

# # MocoV2Plus + PNR (Load a task 0 model and then train the model starting from task 1)
# PRETRAINED_PATH=PRETRAINED_TASK0_MODEL_PATH ## Please change this to YOUR_PRETRAINED_TASK0_MODEL_PATH
# NAME=mocov2plus-pnr-imagenet100-5T-class-load PRETRAINED_PATH=$PRETRAINED_PATH PROJECT=$PROJECT ENTITY=$ENTITY SEED=$SEED NUM_TASKS=$NUM_TASKS DATA_DIR=$DATA_DIR CUDA_VISIBLE_DEVICES=$GPU_NUM python job_launcher.py --script bash_files/continual/imagenet-100/class/mocov2plus_pnr_load_task0.sh 

# ################################################################################################################################################

# ########## Step 2 : Linear Evaluation ###########
# info for Wandb
# PROJECT=UCIL-imagenet-100-linear ## Please change this to YOUR_PROJECT_NAME
# ENTITY=fzl194 ## Please change this to YOUR_ENTITY

# # Other info
# GPU_NUM=0
# DATA_DIR=/home/compu/sungmin/dataset ## Please change this to YOUR_DATASET_PATH
# TRAIN_DIR=/home/compu/sungmin/dataset/Imagenet100/train ## Please change this to YOUR_IMAGENET100_TRAIN_PATH
# VAL_DIR=/home/compu/sungmin/dataset/Imagenet100/val ## Please change this to YOUR_IMAGENET100_VAL_PATH
# SEED=5

# # MocoV2Plus + PNR
# PRETRAINED_PATH=PRETRAINED_MODEL_PATH ## Please change this to YOUR_PRETRAINED_MODEL_PATH
# NAME=mocov2plus-pnr-imagenet100-5T-class-linear-eval PROJECT=$PROJECT ENTITY=$ENTITY GPU_NUM=$GPU_NUM SEED=$SEED PRETRAINED_PATH=$PRETRAINED_PATH DATA_DIR=$DATA_DIR TRAIN_DIR=$TRAIN_DIR VAL_DIR=$VAL_DIR bash bash_files/linear/imagenet-100/class/mocov2plus_linear.sh 

# # Byol + PNR
# PRETRAINED_PATH=PRETRAINED_MODEL_PATH ## Please change this to YOUR_PPRETRAINED_MODEL_PATH
# NAME=byol-pnr-imagenet100-5T-daclassta-linear-eval PROJECT=$PROJECT ENTITY=$ENTITY GPU_NUM=$GPU_NUM SEED=$SEED PRETRAINED_PATH=$PRETRAINED_PATH DATA_DIR=$DATA_DIR TRAIN_DIR=$TRAIN_DIR VAL_DIR=$VAL_DIR bash bash_files/linear/imagenet-100/class/byol_linear.sh 

# # VICReg + PNR
# PRETRAINED_PATH=PRETRAINED_MODEL_PATH ## Please change this to YOUR_PRETRAINED_MODEL_PATH
# NAME=vicreg-pnr-imagenet100-5T-class-linear-eval PROJECT=$PROJECT ENTITY=$ENTITY GPU_NUM=$GPU_NUM SEED=$SEED PRETRAINED_PATH=$PRETRAINED_PATH DATA_DIR=$DATA_DIR TRAIN_DIR=$TRAIN_DIR VAL_DIR=$VAL_DIR bash bash_files/linear/imagenet-100/class/vicreg_linear.sh 

# # SimCLR + PNR
# PRETRAINED_PATH=PRETRAINED_MODEL_PATH ## Please change this to YOUR_PRETRAINED_MODEL_PATH
# NAME=simclr-pnr-imagenet100-5T-class-linear-eval PROJECT=$PROJECT ENTITY=$ENTITY GPU_NUM=$GPU_NUM SEED=$SEED PRETRAINED_PATH=$PRETRAINED_PATH DATA_DIR=$DATA_DIR TRAIN_DIR=$TRAIN_DIR VAL_DIR=$VAL_DIR bash bash_files/linear/imagenet-100/class/simclr_linear.sh 

# # Barlow + PNR
# PRETRAINED_PATH=/home/zhanglei/Desktop/fzl/2025/ucil2025/experiments/2025_02_19_15_05_38-barlow-pnr-imagenet100-5T-class/hmin4koi/barlow-pnr-imagenet100-5T-class-task0-ep=4-hmin4koi.ckpt ## Please change this to YOUR_PRETRAINED_MODEL_PATH
# NAME=barlow-pnr-imagenet100-5T-class-linear-eval PROJECT=$PROJECT ENTITY=$ENTITY GPU_NUM=$GPU_NUM SEED=$SEED PRETRAINED_PATH=$PRETRAINED_PATH DATA_DIR=$DATA_DIR TRAIN_DIR=$TRAIN_DIR VAL_DIR=$VAL_DIR bash bash_files/linear/imagenet-100/class/barlow_linear.sh 
